The present invention relates generally to the field of virtualization, and more particularly to container-based virtualization.
Virtual machines (VMs) are widely used to create virtualization. VMs operate based on the computer architecture and functions of a real or hypothetical computer. A VM is a software implementation of a machine that executes programs like a physical machine. A single physical machine may support multiple VMs executed thereon and manage these VMs using a program called “hypervisor.” A hypervisor or virtual machine monitor (VMM) is computer software, firmware, or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine.
Containers provide lightweight virtualization that allows for isolating processes and/or resources without the need of providing instruction interpretation mechanisms and/or other complexities of full virtualization. Container technology, such as Linux Container (LXC), provides lightweight virtualization that allows isolating processes and resources without the need to provide instruction interpretation mechanisms and other complexities of full virtualization. Containers effectively partition the resources managed by a single host operating system (OS) into isolated groups to better balance the conflicting demands on resource usage between the isolated groups. That is, the container technology allows sharing a common OS and possibly some appropriate binary files or libraries.